package com.moniu.xzts.config;

import com.knuddels.jtokkit.api.EncodingType;
import jakarta.annotation.PostConstruct;
import org.springframework.ai.document.Document;
import org.springframework.ai.document.DocumentReader;
import org.springframework.ai.embedding.BatchingStrategy;
import org.springframework.ai.embedding.TokenCountBatchingStrategy;
import org.springframework.ai.reader.TextReader;
import org.springframework.ai.reader.tika.TikaDocumentReader;
import org.springframework.ai.transformer.splitter.TokenTextSplitter;
import org.springframework.ai.vectorstore.VectorStore;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.FileSystemResource;
import org.springframework.stereotype.Component;

import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;

@Configuration
public class VectorStoreConfig {

    @Autowired
    VectorStore vectorStore;
//
//    // 加载指定的资源文件
//    @Value("classpath:目录.png")
//    private org.springframework.core.io.Resource resource;
//    @PostConstruct
//    public void initVectorStore(){
//        TextReader textReader = new TextReader(this.resource);
//        List<Document> documents = textReader.read();
//      // Add the documents to Redis
//        vectorStore.add(documents);
//    }

//        @PostConstruct
//    public void initVectorStore(){
//            // 指定文档路径
//            String filePath = "C:\\天涯神贴\\天涯神贴合集\\197-论房产的获得与坚守.pdf";
//
//            // 创建FileSystemResource对象，表示文档资源
//            FileSystemResource resource = new FileSystemResource(filePath);
//            TikaDocumentReader  reader = new TikaDocumentReader(resource);
//            List<Document> documents = reader.read();
//
//            TokenTextSplitter splitter = new TokenTextSplitter();
//            List<Document> splitDocuments = splitter.apply(documents);
//          // Add the documents to Redis
//            vectorStore.add(splitDocuments);
//    }
}
